\usepackage{ifthen}
\usepackage{ulem}
\normalem

%%% the following converts emph to underline.  
%%% it does something else, but i'm not sure what
%\usepackage{ulem}

%%%%%%%%%%%  A couple of useful lines for tracking comments on text.
\newcommand{\MP}[1]{\textcolor{red}{#1}}
\newcommand{\MB}[1]{\textcolor{blue}{#1}}

%% Is the version public or not?
%\newboolean{publicversion}
\setboolean{publicversion}{true}
%\setboolean{publicversion}{false}


%% a collection of commands that are enabled/disabled in public versions
\ifthenelse{\boolean{publicversion}}{
   \newcommand{\grumbler}[2]{}
   \newcommand{\grumblerInline}[2]{}
  \newcommand{\changebars}[2]{#1}
}{
   \newcommand{\grumbler}[2]{\marginpar{\scriptsize {\bf #1}: #2}}
   \setlength{\marginparwidth}{.8in}
   \newcommand{\grumblerInline}[2]{\MP{{\bf #1}: #2}}
  \newcommand{\changebars}[2]{ 
       {\tiny [\MB{check}]}
         [{\tiny (\MB{new})} {#1}]
         [{\sout{#2}}]
   }

% {\tiny [check]}[{\em  #1}][\sout{\em #2}]}
}



%%  person specific grumblers
\newcommand{\public}[1]{\grumbler{PUBLIC}{#1}}

\newcommand{\yang}[1]{\grumbler{Yang}{#1}}
\newcommand{\yangI}[1]{\grumblerInline{Yang}{#1}}
\newcommand{\manos}[1]{\grumbler{Manos}{#1}}
\newcommand{\manosI}[1]{\grumblerInline{Manos}{#1}}
\newcommand{\vivien}[1]{\grumbler{Vivien}{#1}}
\newcommand{\mike}[1]{\grumbler{Mike}{#1}}
\newcommand{\mikeI}[1]{\grumblerInline{Mike}{#1}}
\newcommand{\lorenzo}[1]{\grumbler{Lorenzo}{#1}}
\newcommand{\allen}[1]{\grumbler{Allen}{#1}}
\newcommand{\allenI}[1]{\grumblerInline{Allen}{#1}}

%% a semi-anonymous grumbler for use when you want to stir the ant
%% pile without really making it into a fight.
\newcommand{\devil}[1]{\grumbler{Devil's Advocate}{#1}}
